﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02001485 RID: 5253
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class TutorialGuide : IMessage<TutorialGuide>, IMessage, IEquatable<TutorialGuide>, IDeepCloneable<TutorialGuide>, IBufferMessage
	{
		// Token: 0x17004227 RID: 16935
		// (get) Token: 0x0600EAE9 RID: 60137 RVA: 0x00273F99 File Offset: 0x00272199
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<TutorialGuide> Parser
		{
			get
			{
				return TutorialGuide._parser;
			}
		}

		// Token: 0x17004228 RID: 16936
		// (get) Token: 0x0600EAEA RID: 60138 RVA: 0x00273FA0 File Offset: 0x002721A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return TutorialGuideReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17004229 RID: 16937
		// (get) Token: 0x0600EAEB RID: 60139 RVA: 0x00273FB2 File Offset: 0x002721B2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return TutorialGuide.Descriptor;
			}
		}

		// Token: 0x0600EAEC RID: 60140 RVA: 0x00273FB9 File Offset: 0x002721B9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TutorialGuide()
		{
		}

		// Token: 0x0600EAED RID: 60141 RVA: 0x00273FC1 File Offset: 0x002721C1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TutorialGuide(TutorialGuide other) : this()
		{
			this.status_ = other.status_;
			this.id_ = other.id_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600EAEE RID: 60142 RVA: 0x00273FF2 File Offset: 0x002721F2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TutorialGuide Clone()
		{
			return new TutorialGuide(this);
		}

		// Token: 0x1700422A RID: 16938
		// (get) Token: 0x0600EAEF RID: 60143 RVA: 0x00273FFA File Offset: 0x002721FA
		// (set) Token: 0x0600EAF0 RID: 60144 RVA: 0x00274002 File Offset: 0x00272202
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TutorialStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x1700422B RID: 16939
		// (get) Token: 0x0600EAF1 RID: 60145 RVA: 0x0027400B File Offset: 0x0027220B
		// (set) Token: 0x0600EAF2 RID: 60146 RVA: 0x00274013 File Offset: 0x00272213
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Id
		{
			get
			{
				return this.id_;
			}
			set
			{
				this.id_ = value;
			}
		}

		// Token: 0x0600EAF3 RID: 60147 RVA: 0x0027401C File Offset: 0x0027221C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as TutorialGuide);
		}

		// Token: 0x0600EAF4 RID: 60148 RVA: 0x0027402A File Offset: 0x0027222A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(TutorialGuide other)
		{
			return other != null && (other == this || (this.Status == other.Status && this.Id == other.Id && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600EAF5 RID: 60149 RVA: 0x00274068 File Offset: 0x00272268
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Status != TutorialStatus.TutorialNone)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.Id != 0U)
			{
				num ^= this.Id.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600EAF6 RID: 60150 RVA: 0x002740C6 File Offset: 0x002722C6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600EAF7 RID: 60151 RVA: 0x002740CE File Offset: 0x002722CE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600EAF8 RID: 60152 RVA: 0x002740D8 File Offset: 0x002722D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Id != 0U)
			{
				output.WriteRawTag(16);
				output.WriteUInt32(this.Id);
			}
			if (this.Status != TutorialStatus.TutorialNone)
			{
				output.WriteRawTag(56);
				output.WriteEnum((int)this.Status);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600EAF9 RID: 60153 RVA: 0x00274134 File Offset: 0x00272334
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Status != TutorialStatus.TutorialNone)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.Id != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Id);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600EAFA RID: 60154 RVA: 0x0027418C File Offset: 0x0027238C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(TutorialGuide other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Status != TutorialStatus.TutorialNone)
			{
				this.Status = other.Status;
			}
			if (other.Id != 0U)
			{
				this.Id = other.Id;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600EAFB RID: 60155 RVA: 0x002741DC File Offset: 0x002723DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600EAFC RID: 60156 RVA: 0x002741E8 File Offset: 0x002723E8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 16U)
				{
					if (num != 56U)
					{
						this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
					}
					else
					{
						this.Status = (TutorialStatus)input.ReadEnum();
					}
				}
				else
				{
					this.Id = input.ReadUInt32();
				}
			}
		}

		// Token: 0x04005D04 RID: 23812
		private static readonly MessageParser<TutorialGuide> _parser = new MessageParser<TutorialGuide>(() => new TutorialGuide());

		// Token: 0x04005D05 RID: 23813
		private UnknownFieldSet _unknownFields;

		// Token: 0x04005D06 RID: 23814
		public const int StatusFieldNumber = 7;

		// Token: 0x04005D07 RID: 23815
		private TutorialStatus status_;

		// Token: 0x04005D08 RID: 23816
		public const int IdFieldNumber = 2;

		// Token: 0x04005D09 RID: 23817
		private uint id_;
	}
}
